package com.dapeis.core.utils.json.tim;

import java.lang.reflect.Type;

import com.ag.utils.json.AGsonBuilder;
import com.dapeis.im.tim.req.message.TIMMessage;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

public class TIMMessageGsonAdapter implements JsonSerializer<TIMMessage> {

    @Override
    public JsonElement serialize(TIMMessage src, Type typeOfSrc,
	    JsonSerializationContext context) {
	JsonObject json = new JsonObject();
	json.addProperty("To_Account", src.getTo_Account());
	json.addProperty("MsgRandom", src.getMsgRandom());
	json.add("MsgBody", AGsonBuilder.create().toJsonTree(src.getMsgBody()));
	json.add("OfflinePushInfo",
		AGsonBuilder.create().toJsonTree(src.getOfflinePush()));
	return json;
    }

}
